In [2]:
import pandas as pd
import numpy as np
import matplotlib as mat
import seaborn as sb
import sklearn as sk
%matplotlib inline

Reading file

In [3]:
df=pd.read_csv("ShoeStore_Feedback.csv")
df.head()
Out[3]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Group Merchandizer Group CityManager Group Regional_Head Group Business_Head Group Management
0 CMT-CROWFORD MKT 30/12/17 15:22 01/01/18 2:34 english 29/12/17 MOC/DER/BOOT GT, SOCKS, SOCKS, SOCKS, SOCKS, S... REMINDER CMT 4.0 Variety of shoes can be increased 7955.0 Excellent(5) Very Good(4) Very Good(4) Very Good(4) Merchandiser_Waseem City_Manager_Mohd Turk Regional_Manager_Khalid Business_Head_Mushir Khan Mgt_Bhavik_Shah
1 GTS-GHATKOPER 30/12/17 15:22 01/01/18 7:05 english 29/12/17 SPORTS (LT), SOCKS, PRO REMINDER GTS 4.0 add more varieties to your store 2369.0 Good(3) Good(3) Very Good(4) Very Good(4) Merchandiser_Kibriya City_Manager_Amit Sukheja Regional_Manager_Jairaj Business_Head_Mushir Khan Mgt_Bhavik_Shah
2 CLB-COLABA 30/12/17 15:22 01/01/18 10:03 english 29/12/17 CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT REMINDER CLB 5.0 It was a good experience 4070.0 Excellent(5) Excellent(5) Very Good(4) Excellent(5) Merchandiser_Minhaz City_Manager_Danish Regional_Manager_Anwar Business_Head_Mushir Khan Mgt_Bhavik_Shah
3 GHD-GANDHIDHAM 30/12/17 15:22 01/01/18 11:00 english 29/12/17 FANCY (LT), FANCY (LT) REMINDER GHD 4.0 Introduce new collection.\nSend messages to cu... 4280.0 Good(3) Good(3) Good(3) Very Good(4) Merchandiser_Arif Naqvi City_Manager_Danish Regional_Manager_Anwar Business_Head_Mushir Khan Mgt_Bhavik_Shah
4 CLB-COLABA 30/12/17 15:22 01/01/18 15:57 english 29/12/17 DAVINCHI REMINDER CLB 4.0 Service was very good 9990.0 Good(3) Good(3) Good(3) Good(3) Merchandiser_Minhaz City_Manager_Danish Regional_Manager_Anwar Business_Head_Mushir Khan Mgt_Bhavik_Shah
In [4]:
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 37795 entries, 0 to 37794
Data columns (total 20 columns):
Store Location(Touchpoint name)    37795 non-null object
Date of Request                    37795 non-null object
Date of Response                   37795 non-null object
Language                           37788 non-null object
Date of Transaction                37793 non-null object
Product Category                   37792 non-null object
Responded Using                    37772 non-null object
Storeid                            37793 non-null object
Overall Experience Score           37788 non-null float64
Comment                            29453 non-null object
Value                              37793 non-null float64
Store Ambience                     34815 non-null object
Store Collection                   34815 non-null object
Staff Product Knowledge            34815 non-null object
Staff Helpfulness                  34815 non-null object
Group Merchandizer                 37755 non-null object
Group CityManager                  37755 non-null object
Group Regional_Head                37755 non-null object
Group Business_Head                37755 non-null object
Group Management                   37755 non-null object
dtypes: float64(2), object(18)
memory usage: 5.8+ MB

Checking how many rows has null values in the primary Question Column

In [5]:
df[df['Overall Experience Score'].isnull()].info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 7 entries, 8650 to 8894
Data columns (total 20 columns):
Store Location(Touchpoint name)    7 non-null object
Date of Request                    7 non-null object
Date of Response                   7 non-null object
Language                           0 non-null object
Date of Transaction                7 non-null object
Product Category                   7 non-null object
Responded Using                    7 non-null object
Storeid                            7 non-null object
Overall Experience Score           0 non-null float64
Comment                            0 non-null object
Value                              7 non-null float64
Store Ambience                     0 non-null object
Store Collection                   0 non-null object
Staff Product Knowledge            0 non-null object
Staff Helpfulness                  0 non-null object
Group Merchandizer                 7 non-null object
Group CityManager                  7 non-null object
Group Regional_Head                7 non-null object
Group Business_Head                7 non-null object
Group Management                   7 non-null object
dtypes: float64(2), object(18)
memory usage: 1.1+ KB

Dropped rows with null values in primary Question column.

In [6]:
df2=df.dropna(subset=['Overall Experience Score'],axis=0)
In [7]:
df2.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 37788 entries, 0 to 37794
Data columns (total 20 columns):
Store Location(Touchpoint name)    37788 non-null object
Date of Request                    37788 non-null object
Date of Response                   37788 non-null object
Language                           37788 non-null object
Date of Transaction                37786 non-null object
Product Category                   37785 non-null object
Responded Using                    37765 non-null object
Storeid                            37786 non-null object
Overall Experience Score           37788 non-null float64
Comment                            29453 non-null object
Value                              37786 non-null float64
Store Ambience                     34815 non-null object
Store Collection                   34815 non-null object
Staff Product Knowledge            34815 non-null object
Staff Helpfulness                  34815 non-null object
Group Merchandizer                 37748 non-null object
Group CityManager                  37748 non-null object
Group Regional_Head                37748 non-null object
Group Business_Head                37748 non-null object
Group Management                   37748 non-null object
dtypes: float64(2), object(18)
memory usage: 6.1+ MB

I think these two rows are to test the system if it is working

In [9]:
df2[df2['Storeid'].isnull()]
Out[9]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Group Merchandizer Group CityManager Group Regional_Head Group Business_Head Group Management
529 test_touchpoint 05/01/18 12:05 05/01/18 12:14 hindi NaN NaN INVITATION NaN 5.0 Hxvuvuvkvu NaN Very Good(4) Very Good(4) Fair(2) Very Good(4) NaN NaN NaN NaN NaN
532 test_touchpoint 05/01/18 12:16 05/01/18 13:16 hindi NaN NaN INVITATION NaN 5.0 �_ˆ__���__ �_Ɉ__����_݈__ NaN Very Good(4) Very Good(4) Good(3) Excellent(5) NaN NaN NaN NaN NaN

Count of group merchandizer

In [10]:
df2['Group Merchandizer'].value_counts()
Out[10]:
Merchandiser_Minhaz        6571
Merchandiser_Kibriya       4683
Merchandiser_Sarfaraz      4213
Merchandiser_Aiyaz         4054
Merchandiser_Sikandar      3973
Merchandiser_Prateek       3880
Merchandiser_Waseem        3431
Merchandiser_Khusru        2785
Merchandiser_Arif Naqvi    2119
Merchandiser_Nisar         2039
Name: Group Merchandizer, dtype: int64

Count of city managers

In [11]:
df2['Group CityManager'].value_counts()
Out[11]:
City_Manager_Danish          17568
City_Manager_Amit Sukheja     8563
City_Manager_Mohd Waheed      8186
City_Manager_Mohd Turk        3431
Name: Group CityManager, dtype: int64

Count of Regional heads

In [12]:
df2['Group Regional_Head'].value_counts()
Out[12]:
Regional_Manager_Anwar     17568
Regional_Manager_Jairaj    16749
Regional_Manager_Khalid     3431
Name: Group Regional_Head, dtype: int64

Business head

In [13]:
df2['Group Business_Head'].value_counts()
Out[13]:
Business_Head_Mushir Khan    37748
Name: Group Business_Head, dtype: int64

Count of group manager

In [14]:
df2['Group Management'].value_counts()
Out[14]:
Mgt_Bhavik_Shah    37748
Name: Group Management, dtype: int64

Dropping irrelevant data

In [15]:
df2=df2.drop('Group Business_Head',axis=1)
In [16]:
df2=df2.drop('Group Management',axis=1)
In [17]:
df2=df2.drop('Group Regional_Head',axis=1)
In [18]:
df2=df2.drop('Group CityManager',axis=1)
In [19]:
df2=df2.drop('Group Merchandizer',axis=1)

Language count

In [20]:
df2['Language'].value_counts()
Out[20]:
english    34232
hindi       3556
Name: Language, dtype: int64

Count of product category

In [21]:
df2['Product Category'].value_counts()
Out[21]:
CHP-FLT/DAB/CUT                                                                                                                                                                                                                                                                                                                                                                                                                             1677
SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                                                                 1540
FANCY (LT)                                                                                                                                                                                                                                                                                                                                                                                                                                  1495
BELLY/COT/LJ                                                                                                                                                                                                                                                                                                                                                                                                                                 986
MOC/DER/BOOT GT                                                                                                                                                                                                                                                                                                                                                                                                                              913
CROCS                                                                                                                                                                                                                                                                                                                                                                                                                                        666
COMFORT LADIES                                                                                                                                                                                                                                                                                                                                                                                                                               645
KHILONA/SANDAL                                                                                                                                                                                                                                                                                                                                                                                                                               645
DAVINCHI                                                                                                                                                                                                                                                                                                                                                                                                                                     633
LEE COOPER                                                                                                                                                                                                                                                                                                                                                                                                                                   585
PLATFORM (LT)                                                                                                                                                                                                                                                                                                                                                                                                                                542
CASUAL BAGS                                                                                                                                                                                                                                                                                                                                                                                                                                  497
SKECHERS-LT                                                                                                                                                                                                                                                                                                                                                                                                                                  443
SKECHERS                                                                                                                                                                                                                                                                                                                                                                                                                                     403
CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT                                                                                                                                                                                                                                                                                                                                                                                                             390
MULE                                                                                                                                                                                                                                                                                                                                                                                                                                         386
PRO                                                                                                                                                                                                                                                                                                                                                                                                                                          362
MOC/DER/BOOT GT, PRO                                                                                                                                                                                                                                                                                                                                                                                                                         332
FANCY (LT), FANCY (LT)                                                                                                                                                                                                                                                                                                                                                                                                                       320
RED TAPE                                                                                                                                                                                                                                                                                                                                                                                                                                     316
SPORTS (LT)                                                                                                                                                                                                                                                                                                                                                                                                                                  290
GNX SAND/KHILON                                                                                                                                                                                                                                                                                                                                                                                                                              288
LOOSE HEEL                                                                                                                                                                                                                                                                                                                                                                                                                                   283
SANDAL (LT), SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                                                     278
SOCKS                                                                                                                                                                                                                                                                                                                                                                                                                                        266
MARDI GRAS                                                                                                                                                                                                                                                                                                                                                                                                                                   226
DAVINCHI-LT                                                                                                                                                                                                                                                                                                                                                                                                                                  213
BELLY/COT/LJ, BELLY/COT/LJ                                                                                                                                                                                                                                                                                                                                                                                                                   178
GENX                                                                                                                                                                                                                                                                                                                                                                                                                                         169
PRO, PRO                                                                                                                                                                                                                                                                                                                                                                                                                                     163
                                                                                                                                                                                                                                                                                                                                                                                                                                            ... 
VIONIC, ZIOLITE, PRO, VETRO POWER, BULCHEE                                                                                                                                                                                                                                                                                                                                                                                                     1
KITTENS, BAGS (FANCY), BUCKAROO                                                                                                                                                                                                                                                                                                                                                                                                                1
MOC/DER/BOOT GT, PRO, ZIOLITE BODY SP, DV SOCKS                                                                                                                                                                                                                                                                                                                                                                                                1
CASUAL BELTS, BELLY (GRL), CASUAL BELTS, BELLY (GRL)                                                                                                                                                                                                                                                                                                                                                                                           1
CROCS, SANDAL (LT), SANDAL (LT), SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                                   1
SANDAL (LT), PRO, PRO, ZIOLITE, ZIOLITE, SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                           1
SKECHERS-LT, PRO, DISNEY PRINCESS, SKECHERS-LT                                                                                                                                                                                                                                                                                                                                                                                                 1
DAVINCHI, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, RED F/W (R), RED F/W (R), RED F/W (R), RED F/W (R), RED F/W (R), RED F/W (R), BELLY/COT/LJ, BELLY/COT/LJ, BELLY/COT/LJ, BELLY/COT/LJ, BELLY/COT/LJ, BELLY/COT/LJ, DAVINCHI, DAVINCHI, DAVINCHI, DAVINCHI, DAVINCHI       1
CASUAL BELTS, PRO, PRO, CASUAL BELTS                                                                                                                                                                                                                                                                                                                                                                                                           1
GENX, SOCKS, SOCKS, SOCKS, SOCKS, LOTTO, LOTTO, LOTTO, LOTTO, GENX, GENX, GENX                                                                                                                                                                                                                                                                                                                                                                 1
SKECHERS, FILA, FILA, SKECHERS                                                                                                                                                                                                                                                                                                                                                                                                                 1
GENX, ZIOLITE, SANDAL (LT), CHP-FLT/DAB/CUT                                                                                                                                                                                                                                                                                                                                                                                                    1
MULE, MULE, FANCY (LT), FANCY (LT), CHP-FLT/DAB/CUT                                                                                                                                                                                                                                                                                                                                                                                            1
SOCKS, DV SOCKS, DV SOCKS, DV SOCKS                                                                                                                                                                                                                                                                                                                                                                                                            1
GNX SAND/KHILON, BELTS LCL, BELTS LCL                                                                                                                                                                                                                                                                                                                                                                                                          1
F.ACCES, F.ACCES, F.ACCES, F.ACCES                                                                                                                                                                                                                                                                                                                                                                                                             1
KHILONA/SANDAL, F.ACCES, FANCY (LT)                                                                                                                                                                                                                                                                                                                                                                                                            1
FANCY (LT), SPORTS (BOY), MATCHING BAGS                                                                                                                                                                                                                                                                                                                                                                                                        1
FANCY (LT), SOCKS, MOBILE COVER, BAGS (FANCY)                                                                                                                                                                                                                                                                                                                                                                                                  1
LEE COOPER, PRO, BULCHEE                                                                                                                                                                                                                                                                                                                                                                                                                       1
PLATFORM (LT), SOCKS, SOCKS, SANDAL (LT), CASUAL BAGS                                                                                                                                                                                                                                                                                                                                                                                          1
MARDI GRAS, ZIOLITE BODY SP, CASUAL BELTS                                                                                                                                                                                                                                                                                                                                                                                                      1
CLARKS-LT, SANDAL (LT), SANDAL (LT), KHILONA/SANDAL, KHILONA/SANDAL, CLARKS-LT                                                                                                                                                                                                                                                                                                                                                                 1
BELLY/COT/LJ, SOCKS, PRO, BELLY/COT/LJ, BELLY/COT/LJ                                                                                                                                                                                                                                                                                                                                                                                           1
DAVINCHI, ZIOLITE, DV SOCKS, F.ACCES                                                                                                                                                                                                                                                                                                                                                                                                           1
LEE COOPER, SOCKS, PRO, SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                                            1
MOC/DER/BOOT GT, SOCKS, SOCKS, SOCKS, SOCKS, SOCKS, SOCKS, PRO, PRO, MARDI GRAS, MARDI GRAS, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, MOC/DER/BOOT GT                                                                                                                                                                                                                                                                                                 1
CROCS, CHP-FLT/DAB/CUT, SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                                                                            1
CHP-FLT/DAB/CUT, SANDAL (LT), SANDAL (LT), SANDAL (LT), CASUAL BAGS, SANDAL (LT)                                                                                                                                                                                                                                                                                                                                                               1
SKECHERS-LT, CROCS, SKECHERS-LT, SKECHERS-LT                                                                                                                                                                                                                                                                                                                                                                                                   1
Name: Product Category, dtype: int64
In [90]:
df2['Product Category'].nunique()
Out[90]:
8472

Count of different store attributes

In [22]:
df2['Store Ambience'].value_counts()
Out[22]:
Very Good(4)    15179
Excellent(5)     9550
Good(3)          8471
Fair(2)          1169
Poor(1)           446
Name: Store Ambience, dtype: int64
In [23]:
df2['Store Collection'].value_counts()
Out[23]:
Very Good(4)    12278
Good(3)         10811
Excellent(5)     8012
Fair(2)          2928
Poor(1)           786
Name: Store Collection, dtype: int64
In [24]:
df2['Staff Product Knowledge'].value_counts()
Out[24]:
Very Good(4)    13546
Excellent(5)    10946
Good(3)          7964
Fair(2)          1622
Poor(1)           737
Name: Staff Product Knowledge, dtype: int64
In [25]:
df2['Staff Helpfulness'].value_counts()
Out[25]:
Excellent(5)    14478
Very Good(4)    12556
Good(3)          5656
Fair(2)          1239
Poor(1)           886
Name: Staff Helpfulness, dtype: int64

Mapping the store attributes to integers

In [26]:
df2['Store Ambience']=df2['Store Ambience'].map({'Very Good(4)':4,'Excellent(5)':5,'Good(3)':3,'Fair(2)':2,'Poor(1)':1 })
In [27]:
df2['Store Collection']=df2['Store Collection'].map({'Very Good(4)':4,'Excellent(5)':5,'Good(3)':3,'Fair(2)':2,'Poor(1)':1 })
In [28]:
df2['Staff Product Knowledge']=df2['Staff Product Knowledge'].map({'Very Good(4)':4,'Excellent(5)':5,'Good(3)':3,'Fair(2)':2,'Poor(1)':1 })
In [29]:
df2['Staff Helpfulness']=df2['Staff Helpfulness'].map({'Very Good(4)':4,'Excellent(5)':5,'Good(3)':3,'Fair(2)':2,'Poor(1)':1 })

Normalizing Value

In [30]:
df2['Log Value']=np.log(df2['Value'])

Plotting graphs

In [85]:
df2.hist(bins=100,figsize=(20,20))
Out[85]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee654a10d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee612dc690>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6131e6d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee6123fd90>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee617ce150>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee617efed0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee616be090>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6163d350>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee61620b90>]], dtype=object)
In [32]:
df2[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(20,20))
Out[32]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee8ed5e310>
In [88]:
mat.pyplot.scatter(df2['Overall Experience Score'],df2['Value'])
Out[88]:
<matplotlib.collections.PathCollection at 0x7fee5cbee7d0>
In [89]:
mat.pyplot.scatter(df2['Overall Experience Score'],df2['Log Value'])
Out[89]:
<matplotlib.collections.PathCollection at 0x7fee5c589550>
In [92]:
sb.heatmap(df2[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].corr())
Out[92]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee5c636a50>
In [33]:
import nltk
from wordcloud import WordCloud
from nltk.corpus import stopwords
st=df2['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Count of different store locations

In [34]:
df2['Store Location(Touchpoint name)'].nunique()
Out[34]:
198

Counts of store at each location

In [35]:
df2['Store Location(Touchpoint name)'].value_counts()
Out[35]:
CLB-COLABA                   700
HYD-HYDERABAD                675
AAS-AHMEDABAD                497
CTR-COIMBATORE               492
AND-ANDHERI                  472
BHU-BHUBANESHWAR             460
MDT-CHENNAI                  456
VDS-VARANASI                 429
SRT-SURAT                    429
GUH-GUWAHTI                  422
PTN-PATANA                   414
MEX-CHENNAI                  413
MFS-CHENNAI                  398
MDY-CHENNAI                  391
CSC-KOLKATA                  390
SWD- VASHI  SEEWOOD          378
GGN-GANGANAGAR               373
MVS-CHENNAI                  356
PUN-PUNE                     343
PMG-PUNE                     336
ABD-AHMEDABAD                333
PBS-PATANA                   330
MCP-CHENNAI                  329
MKS-CHENNAI                  329
JBL-JABALPUR                 328
PTA-PATIALA                  324
CSD-CHANDIGARH               311
BGB-BANGALURU                308
MDN-CHENNAI                  308
MUS-MADHURAI                 306
                            ... 
CIS- CALICUT                  71
ALH-ALAHABAD                  68
HUS-HUBLI                     68
SAL-SALEM                     65
BSS-BANGALURU                 65
NSK-NASIK                     63
DAL-DELHI AIR PORT            62
HDR-HARIDWAR                  58
KST-KOCHI                     58
FMS-BANGALURU                 57
TKS-THANE                     56
MOS- MYSORE                   53
KLU-KOCHI                     53
NCL- NAGERCOIL                45
BEL- BENGALURU                43
BGL-BANGALURU                 42
BFS- BANGALURU                42
HPG-HYDERABAD                 38
MYR-MYSORE                    35
KLY-KALYAN                    35
SVC-SILLIGURI                 35
KCH-KOCHI                     33
AMT-AHMEDABAD                 33
GOR-GOREGAON                  30
BHR-BANGALURU                 30
JHR- JAMSHEDPUR               21
MAS- MUMBAI AIR PORT( M )     19
ALR-ALWAR                     14
BST-BANGALURU                  2
test_touchpoint                2
Name: Store Location(Touchpoint name), dtype: int64

Analysis for locations which have top 5 feedbacks in terms of customers who have reviewed

Analysis for Store Location 'CLB-COLABA'

In [36]:
df3=df2.loc[df2['Store Location(Touchpoint name)'] == 'CLB-COLABA']
df3.head()
Out[36]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
2 CLB-COLABA 30/12/17 15:22 01/01/18 10:03 english 29/12/17 CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT REMINDER CLB 5.0 It was a good experience 4070.0 5.0 5.0 4.0 5.0 8.311398
4 CLB-COLABA 30/12/17 15:22 01/01/18 15:57 english 29/12/17 DAVINCHI REMINDER CLB 4.0 Service was very good 9990.0 3.0 3.0 3.0 3.0 9.209340
20 CLB-COLABA 02/01/18 15:28 02/01/18 15:56 english 30/12/17 MOC/DER/BOOT GT, PRO, LEE COOPER, BUCKAROO INVITATION CLB 5.0 All good 10509.0 4.0 4.0 5.0 5.0 9.259987
29 CLB-COLABA 02/01/18 15:30 02/01/18 16:05 english 31/12/17 PRINCESS, FANCY (LT) INVITATION CLB 5.0 NaN 5280.0 4.0 5.0 5.0 5.0 8.571681
156 CLB-COLABA 02/01/18 15:28 02/01/18 19:24 english 30/12/17 SPORTS (LT) INVITATION CLB 5.0 Keep it up 1890.0 3.0 3.0 3.0 5.0 7.544332
In [37]:
df3['Log Value']=np.log(df3['Value'])
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
In [38]:
df3.hist(bins=100,figsize=(20,20))
Out[38]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee800b6b50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee80a30750>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee802637d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7ff1a6d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee800f6750>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee80e42510>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee8000b590>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7ff3d510>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7ff8b810>]], dtype=object)
In [39]:
df3[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[39]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee80c3de10>
In [40]:
st=df3['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Analysis for Store Location 'HYD-HYDERABAD'

In [41]:
df4=df2.loc[df2['Store Location(Touchpoint name)'] == 'HYD-HYDERABAD']
df4.head()
Out[41]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
122 HYD-HYDERABAD 02/01/18 16:05 02/01/18 17:31 english 01/01/18 WEST COAST, SOCKS, PRO, PRO, ZIOLITE INVITATION HYD 5.0 NaN 4469.0 4.0 3.0 3.0 4.0 8.404920
146 HYD-HYDERABAD 02/01/18 16:03 02/01/18 18:26 english 01/01/18 CASUAL BAGS INVITATION HYD 2.0 Bit pricey 2490.0 3.0 3.0 2.0 3.0 7.820038
178 HYD-HYDERABAD 02/01/18 16:04 02/01/18 23:25 english 01/01/18 CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/... INVITATION HYD 5.0 NaN 8140.0 NaN NaN NaN NaN 9.004545
195 HYD-HYDERABAD 03/01/18 15:15 03/01/18 15:22 english 02/01/18 KHILONA/SANDAL, SOCKS INVITATION HYD 5.0 Thanks 1620.0 3.0 4.0 4.0 5.0 7.390181
200 HYD-HYDERABAD 03/01/18 15:17 03/01/18 15:22 english 02/01/18 SOCKS, SOCKS, SOCKS, SOCKS INVITATION HYD 5.0 Please increase the varieties in men�۪s socks ... 840.0 4.0 4.0 4.0 4.0 6.733402
In [43]:
df4['Log Value']=np.log(df4['Value'])
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
In [44]:
df4.hist(bins=100,figsize=(20,20))
Out[44]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee80b86c10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7ea472d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee812cea90>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee81064950>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee814749d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee81390790>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee81197810>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7dd8c790>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7dcf2a90>]], dtype=object)
In [45]:
df4[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[45]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee822ba850>
In [46]:
st=df4['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Analysis for Store Location 'AAS-AHMEDABAD'

In [47]:
df5=df2.loc[df2['Store Location(Touchpoint name)'] == 'AAS-AHMEDABAD']
df5.head()
Out[47]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
38 AAS-AHMEDABAD 02/01/18 15:27 02/01/18 16:20 english 30/12/17 SKECHERS INVITATION AAS 4.0 The store should have more verities which will... 5999.0 4.0 3.0 4.0 4.0 8.699348
50 AAS-AHMEDABAD 02/01/18 15:30 02/01/18 16:31 english 31/12/17 CLARKS-GT, CLARKS-GT INVITATION AAS 5.0 Excellent service all staff is very helpfull t... 4998.0 5.0 5.0 5.0 5.0 8.516793
104 AAS-AHMEDABAD 02/01/18 16:05 02/01/18 16:59 english 01/01/18 CHP-FLT/DAB/CUT INVITATION AAS 5.0 I'm happy 1490.0 5.0 5.0 5.0 5.0 7.306531
206 AAS-AHMEDABAD 03/01/18 15:16 03/01/18 15:23 english 02/01/18 MOC/DER/BOOT GT INVITATION AAS 4.0 I like brand shoes service 3290.0 3.0 4.0 4.0 4.0 8.098643
309 AAS-AHMEDABAD 02/01/18 15:30 03/01/18 17:05 english 31/12/17 CROCS, SOCKS, SOCKS, KHI/SAN/CHP BOY REMINDER AAS 5.0 More colours and sizes should be there.. speci... 2505.0 4.0 4.0 4.0 5.0 7.826044
In [48]:
df5['Log Value']=np.log(df5['Value'])
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
In [49]:
df5.hist(bins=100,figsize=(20,20))
Out[49]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee818dd110>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7dc1a650>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee812210d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee8118ee90>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7d5bff10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7d5ddcd0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7d4e6d50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7d462cd0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7d44ffd0>]], dtype=object)
In [50]:
df5[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[50]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee7d2bac90>
In [51]:
st=df5['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Analysis for Store Location 'CTR-COIMBATORE'

In [52]:
df6=df2.loc[df2['Store Location(Touchpoint name)'] == 'CTR-COIMBATORE']
df6.head()
Out[52]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
98 CTR-COIMBATORE 02/01/18 16:04 02/01/18 16:50 english 01/01/18 CHP-FLT/DAB/CUT, SOCKS, SOCKS, SOCKS, PRO INVITATION CTR 5.0 Improve on kids collection 2475.0 5.0 4.0 4.0 4.0 7.813996
313 CTR-COIMBATORE 02/01/18 16:04 03/01/18 17:08 english 01/01/18 MOC/DER/BOOT GT REMINDER CTR 4.0 Nothing 2790.0 3.0 3.0 4.0 3.0 7.933797
630 CTR-COIMBATORE 05/01/18 15:39 05/01/18 17:42 english 04/01/18 MOC/DER/BOOT GT, PRO INVITATION CTR 4.0 NaN 5215.0 4.0 4.0 4.0 4.0 8.559294
687 CTR-COIMBATORE 05/01/18 15:41 06/01/18 15:00 english 03/01/18 RED TAPE INVITATION CTR 2.0 After Having Purchased on 03/01/18. IN YOUR CO... 1895.0 3.0 3.0 3.0 3.0 7.546974
713 CTR-COIMBATORE 06/01/18 15:48 06/01/18 16:13 english 05/01/18 LEE COOPER INVITATION CTR 4.0 NaN 2899.0 3.0 3.0 4.0 5.0 7.972121
In [53]:
df6['Log Value']=np.log(df6['Value'])
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
In [54]:
df6.hist(bins=100,figsize=(20,20))
Out[54]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7ce79ed0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7b973990>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee80fbce10>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee80f99c10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee811d3c90>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7b829a50>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7b7b8ad0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7b738a50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7b6a2d50>]], dtype=object)
In [55]:
df6[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[55]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee7b528490>
In [83]:
st=df6['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Analysis for Store Location 'AND-ANDHERI'

In [56]:
df7=df2.loc[df2['Store Location(Touchpoint name)'] == 'AND-ANDHERI']
df7.head()
Out[56]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
37 AND-ANDHERI 02/01/18 15:31 02/01/18 16:18 english 31/12/17 DAVINCHI, PRO, DV SOCKS, DV SOCKS, DV SOCKS, M... INVITATION AND 4.0 There is less variety in bellies. 8755.0 4.0 3.0 4.0 4.0 9.077380
151 AND-ANDHERI 02/01/18 15:27 02/01/18 18:48 english 30/12/17 CLARKS-LT, ZIOLITE INVITATION AND 5.0 Very nice 4259.0 4.0 4.0 4.0 4.0 8.356790
184 AND-ANDHERI 02/01/18 15:31 03/01/18 9:50 english 31/12/17 CHP-FLT/DAB/CUT, ZIOLITE INVITATION AND 5.0 NaN 1810.0 5.0 5.0 5.0 5.0 7.501082
189 AND-ANDHERI 02/01/18 15:30 03/01/18 12:10 english 31/12/17 LEE COOPER, LEE COOPER INVITATION AND 4.0 Customer service staff was very helpful.\nHowe... 5198.0 3.0 3.0 5.0 5.0 8.556029
222 AND-ANDHERI 03/01/18 15:16 03/01/18 15:31 english 02/01/18 PLATFORM (LT), PRO INVITATION AND 5.0 Get something Amazing latest 2040.0 5.0 5.0 4.0 5.0 7.620705
In [58]:
df7['Log Value']=np.log(df7['Value'])
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  if __name__ == '__main__':
In [59]:
df7.hist(bins=100,figsize=(20,20))
Out[59]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7af08510>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee78d20310>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee78af1910>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee78a417d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee789ce850>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee789af610>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee7892b690>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee788ab610>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee78818910>]], dtype=object)
In [60]:
df7[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[60]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee78763650>
In [84]:
st=df6['Comment'].to_string()
tokens=st.split()
stop = set(stopwords.words('english'))
resultwords  = [word for word in tokens if word.lower() not in stop]
result = ' '.join(resultwords)
result=''.join([i for i in result if not i.isdigit()])
l=result.split()
try:
    [i for i in l if str(i) != 'nan']
except:
    {}
try:
    for word in list(l):  
        l.remove(u'NaN')
except:
    {}
s=' '.join(l)
whitelist = set('abcdefghijklmnopqrstuvwxy ABCDEFGHIJKLMNOPQRSTUVWXYZ')
answer = ''.join(filter(whitelist.__contains__,s))
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000).generate(answer)
mat.pyplot.figure(figsize=(30,100))
mat.pyplot.imshow(wordcloud, interpolation="bilinear")
mat.pyplot.axis("off")
mat.pyplot.margins(x=0, y=0)
mat.pyplot.show()

Analysis for locations which have bottom 5 feedbacks in terms of customers who have reviewed

Analysis of store location "BST-Bangaluru"

In [61]:
df8=df2.loc[df2['Store Location(Touchpoint name)'] == 'BST-BANGALURU']
df8.head()
Out[61]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
14402 BST-BANGALURU 13/03/18 9:21 14/03/18 11:14 english 08/03/18 MOC/DER/BOOT GT, PRO REMINDER BST 3.0 Nil nothing 4039.0 3.0 2.0 3.0 3.0 8.303752
18697 BST-BANGALURU 31/03/18 16:41 31/03/18 17:05 english 30/03/18 MOC/DER/BOOT GT INVITATION BST 4.0 NaN 3990.0 NaN NaN NaN NaN 8.291547
In [62]:
df8.hist(bins=100,figsize=(20,20))
Out[62]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee733d8f10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee72c12190>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee72c0b710>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee72bb3690>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee72b3e110>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee734d27d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee72a0e550>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7298d9d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee7297a550>]], dtype=object)
In [63]:
df8[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[63]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee7f7db110>
In [64]:
df8['Comment']
Out[64]:
14402    Nil nothing
18697            NaN
Name: Comment, dtype: object
In [65]:
pd.set_option('display.max_colwidth', -1)

Analysis of store location "ALR-ALWAR"

In [66]:
df9=df2.loc[df2['Store Location(Touchpoint name)'] == 'ALR-ALWAR']
df9.head()
Out[66]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
33576 ALR-ALWAR 30/05/18 16:18 30/05/18 16:25 english 29/05/18 GNX SAND/KHILON INVITATION ALR 4.0 NaN 1690.0 4.0 4.0 4.0 4.0 7.432484
33888 ALR-ALWAR 31/05/18 18:31 31/05/18 18:53 english 30/05/18 BELLY/COT/LJ, ZIOLITE, SANDAL (LT) INVITATION ALR 5.0 No suggestions at all. 3540.0 5.0 5.0 5.0 5.0 8.171882
33904 ALR-ALWAR 31/05/18 18:31 31/05/18 19:06 hindi 30/05/18 CHP-FLT/DAB/CUT, SOCKS, CASUAL BAGS INVITATION ALR 4.0 NaN 3030.0 5.0 4.0 5.0 5.0 8.016318
34389 ALR-ALWAR 01/06/18 16:48 02/06/18 18:17 english 31/05/18 FANCY (LT), ZIOLITE REMINDER ALR 3.0 Ggh8hgggfjiihhggfff 1950.0 4.0 4.0 4.0 4.0 7.575585
34861 ALR-ALWAR 05/06/18 15:27 05/06/18 16:00 hindi 03/06/18 CASUAL BAGS, ZIOLITE, PRO INVITATION ALR 4.0 NaN 2030.0 NaN NaN NaN NaN 7.615791
In [67]:
df9=df2.loc[df2['Store Location(Touchpoint name)'] == 'ALR-ALWAR']
df9.head()
Out[67]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
33576 ALR-ALWAR 30/05/18 16:18 30/05/18 16:25 english 29/05/18 GNX SAND/KHILON INVITATION ALR 4.0 NaN 1690.0 4.0 4.0 4.0 4.0 7.432484
33888 ALR-ALWAR 31/05/18 18:31 31/05/18 18:53 english 30/05/18 BELLY/COT/LJ, ZIOLITE, SANDAL (LT) INVITATION ALR 5.0 No suggestions at all. 3540.0 5.0 5.0 5.0 5.0 8.171882
33904 ALR-ALWAR 31/05/18 18:31 31/05/18 19:06 hindi 30/05/18 CHP-FLT/DAB/CUT, SOCKS, CASUAL BAGS INVITATION ALR 4.0 NaN 3030.0 5.0 4.0 5.0 5.0 8.016318
34389 ALR-ALWAR 01/06/18 16:48 02/06/18 18:17 english 31/05/18 FANCY (LT), ZIOLITE REMINDER ALR 3.0 Ggh8hgggfjiihhggfff 1950.0 4.0 4.0 4.0 4.0 7.575585
34861 ALR-ALWAR 05/06/18 15:27 05/06/18 16:00 hindi 03/06/18 CASUAL BAGS, ZIOLITE, PRO INVITATION ALR 4.0 NaN 2030.0 NaN NaN NaN NaN 7.615791
In [68]:
df9.hist(bins=100,figsize=(20,20))
Out[68]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee716eb250>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70dc1e10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70df2f90>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee70d6f1d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70cee9d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70c4d150>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee70bca5d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70c0c050>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee70b36690>]], dtype=object)
In [69]:
df9[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[69]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee709afb50>
In [70]:
df9['Comment']
Out[70]:
33576    NaN                                             
33888    No suggestions at all.                          
33904    NaN                                             
34389    Ggh8hgggfjiihhggfff                             
34861    NaN                                             
35046    NaN                                             
35694    Keep doing same efforts _��_                    
35936    NaN                                             
36004    Dont send msg for feedback again and again      
36332    Soprt shoes Abilble                             
37006    Need to stock up more especially kids stuff too.
37534    NaN                                             
37552    NaN                                             
37779    NaN                                             
Name: Comment, dtype: object

Analysis of store location "MAS-MUMBAI AIRPORT(M)"

In [71]:
df10=df2.loc[df2['Store Location(Touchpoint name)'] == 'MAS- MUMBAI AIR PORT( M )']
df10.head()
Out[71]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
29194 MAS- MUMBAI AIR PORT( M ) 10/05/18 16:39 10/05/18 16:52 english 08/05/18 GNX SAND/KHILON, CROCS INVITATION MAS 5.0 Welldone Keep It Up ! 5285.0 4.0 4.0 5.0 5.0 8.572628
30027 MAS- MUMBAI AIR PORT( M ) 14/05/18 16:45 14/05/18 18:42 english 13/05/18 CHP-FLT/DAB/CUT, ZIOLITE, MULE INVITATION MAS 3.0 NaN 3320.0 3.0 3.0 3.0 3.0 8.107720
30855 MAS- MUMBAI AIR PORT( M ) 18/05/18 14:49 18/05/18 14:53 english 17/05/18 SKECHERS-LT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, SKECHERS-LT INVITATION MAS 4.0 Sige deference requires 12978.0 3.0 4.0 3.0 4.0 9.471011
30911 MAS- MUMBAI AIR PORT( M ) 18/05/18 14:49 18/05/18 16:16 english 17/05/18 SKECHERS INVITATION MAS 4.0 Please ask them to deliver it ASAP. 5499.0 4.0 4.0 4.0 3.0 8.612322
31160 MAS- MUMBAI AIR PORT( M ) 19/05/18 16:19 19/05/18 18:33 english 18/05/18 SANDAL (LT), SANDAL (LT) INVITATION MAS 5.0 More choice preferable in ladies'footwear 2580.0 4.0 4.0 4.0 4.0 7.855545
In [72]:
df10.hist(bins=100,figsize=(20,20))
Out[72]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee6b7190d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6af989d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6afab490>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee6af479d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6ae946d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6ae69c50>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee6adf01d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6ae29ad0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6acda1d0>]], dtype=object)
In [73]:
df10[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[73]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee6ab472d0>
In [74]:
df10['Comment']
Out[74]:
29194    Welldone Keep It Up !                                                                                                                                                                                                                                                                                                                                                       
30027    NaN                                                                                                                                                                                                                                                                                                                                                                         
30855    Sige deference requires                                                                                                                                                                                                                                                                                                                                                     
30911    Please ask them to deliver it ASAP.                                                                                                                                                                                                                                                                                                                                         
31160    More choice preferable in ladies'footwear                                                                                                                                                                                                                                                                                                                                   
31210    Good work                                                                                                                                                                                                                                                                                                                                                                   
31320    Gents boots selection needs to be there ...brogue lace up boots                                                                                                                                                                                                                                                                                                             
32078    Very good                                                                                                                                                                                                                                                                                                                                                                   
33657    I have been fool with a lesser size of shoe. Since I was purchasing sketchers shoe from brand store located at Domestic Terminal 1, Mumbai and the store people gave me a shoe size less than the one I asked for and as I was hurrying for my flight I couldn't check it.\n\nThis is very unjust for customers like us shopping in hurry and trust blindly on store manager
34135    �_ˆ__����__ �_ˆ_��__�_��_��__                                                                                                                                                                                                                                                                                                                                               
34168    It was perfect                                                                                                                                                                                                                                                                                                                                                              
34252    It was gud! Tnx!                                                                                                                                                                                                                                                                                                                                                            
34965    NaN                                                                                                                                                                                                                                                                                                                                                                         
35358    Very nice                                                                                                                                                                                                                                                                                                                                                                   
35656    Kafi Achi hai                                                                                                                                                                                                                                                                                                                                                               
35692    NaN                                                                                                                                                                                                                                                                                                                                                                         
37246    U should send pics of latest collection                                                                                                                                                                                                                                                                                                                                     
37590    Nice.                                                                                                                                                                                                                                                                                                                                                                       
37641    NaN                                                                                                                                                                                                                                                                                                                                                                         
Name: Comment, dtype: object

Analysis of store location "JHR-JAMSHEDPUR"

In [75]:
df11=df2.loc[df2['Store Location(Touchpoint name)'] == 'JHR- JAMSHEDPUR']
df11.head()
Out[75]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
35716 JHR- JAMSHEDPUR 07/06/18 16:55 07/06/18 17:51 english 06/06/18 MULE, SOCKS INVITATION JHR 5.0 Latest collection 1320.0 5.0 4.0 5.0 5.0 7.185387
35948 JHR- JAMSHEDPUR 08/06/18 16:46 08/06/18 17:29 hindi 07/06/18 DAB/PLAT (GRL) INVITATION JHR 3.0 �_��__�_�����_� �__����_ш__�__�_� �_��__��ۈ_� �_��__��_ �__��܈_��__ �__�__�__�_��_� 1290.0 3.0 2.0 3.0 3.0 7.162397
36200 JHR- JAMSHEDPUR 08/06/18 16:46 09/06/18 18:07 english 07/06/18 PLATFORM (LT) REMINDER JHR 5.0 Collection is good, want more of it 1390.0 5.0 5.0 5.0 5.0 7.237059
36241 JHR- JAMSHEDPUR 08/06/18 16:46 09/06/18 20:08 hindi 07/06/18 SANDAL (LT) REMINDER JHR 5.0 acha anubhav raha 1690.0 4.0 4.0 3.0 3.0 7.432484
36253 JHR- JAMSHEDPUR 08/06/18 16:46 09/06/18 22:49 english 07/06/18 LOOSE HEEL REMINDER JHR 5.0 More stuff needed 1290.0 3.0 3.0 4.0 4.0 7.162397
In [76]:
df11.hist(bins=100,figsize=(20,20))
Out[76]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee69939350>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6919f090>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6919c710>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee690b4ed0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee68fce810>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6974ed50>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee68f1ed10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee68ea91d0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee68e0bd10>]], dtype=object)
In [77]:
df11[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[77]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee68cf6790>
In [78]:
df11['Comment']
Out[78]:
35716    Latest collection                                                                                                                                                                                                     
35948    �_��__�_�����_� �__����_ш__�__�_� �_��__��ۈ_� �_��__��_ �__��܈_��__ �__�__�__�_��_�                                                                                                                                   
36200    Collection is good, want more of it                                                                                                                                                                                   
36241    acha anubhav raha                                                                                                                                                                                                     
36253    More stuff needed                                                                                                                                                                                                     
36313    Stock was not satisfying. \nAnd overpriced                                                                                                                                                                            
36476    Billing can be more efficient                                                                                                                                                                                         
36541    brand shoes was opened first time in Jamshedpur.There should be some offers.offers should be on frequent customers.i am a old client and never received a offer                                                       
36559    Try to keep jutty collection  also                                                                                                                                                                                    
36592    NaN                                                                                                                                                                                                                   
36766    A good environment                                                                                                                                                                                                    
36773    NaN                                                                                                                                                                                                                   
36780    NaN                                                                                                                                                                                                                   
36960    Plz bring something more in purse and belts collection.                                                                                                                                                               
36962    Get some more collection in ethnic and different heels along with price variation.no matter whatever was the material or heels prices were nearly same for every sandals n shoes.Even casual collections were few too.
36989    Few more ladies bally collection must be brought in ur store,otherwise rest evrythn is gud...                                                                                                                         
37151    Good shop nothing to improve                                                                                                                                                                                          
37308    NaN                                                                                                                                                                                                                   
37653    Improve your range of SKUs                                                                                                                                                                                            
37675    Staff need more proffessional                                                                                                                                                                                         
37737    New collection not available                                                                                                                                                                                          
Name: Comment, dtype: object

Analysis of store location "BHR-BANGALURU"

In [79]:
df12=df2.loc[df2['Store Location(Touchpoint name)'] == 'BHR-BANGALURU']
df12.head()
Out[79]:
Store Location(Touchpoint name) Date of Request Date of Response Language Date of Transaction Product Category Responded Using Storeid Overall Experience Score Comment Value Store Ambience Store Collection Staff Product Knowledge Staff Helpfulness Log Value
26145 BHR-BANGALURU 01/05/18 11:03 01/05/18 12:22 english 29/04/18 SANDAL (LT), CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT, CHP-FLT/DAB/CUT INVITATION BHR 5.0 Happy to shop in brand , we are regular customer to commercial street branch and we are very happy to ve your show room very near to our home , happy 4860.0 5.0 5.0 5.0 5.0 8.488794
26814 BHR-BANGALURU 01/05/18 11:03 02/05/18 17:40 english 29/04/18 CROCS REMINDER BHR 4.0 Nice place! 2495.0 4.0 4.0 3.0 4.0 7.822044
27925 BHR-BANGALURU 05/05/18 16:15 05/05/18 16:23 english 04/05/18 CASUAL BAGS, CASUAL BAGS INVITATION BHR 5.0 NaN 1380.0 4.0 3.0 3.0 4.0 7.229839
28683 BHR-BANGALURU 07/05/18 17:17 08/05/18 17:52 english 05/05/18 CHP-FLT/DAB/CUT INVITATION BHR 4.0 NaN 1290.0 4.0 4.0 4.0 4.0 7.162397
30216 BHR-BANGALURU 14/05/18 16:43 15/05/18 18:08 english 13/05/18 MULE, ZIOLITE REMINDER BHR 5.0 ....... 1630.0 4.0 4.0 4.0 4.0 7.396335
In [80]:
df12.hist(bins=100,figsize=(20,20))
Out[80]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fee67a25dd0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee6729eb50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee672562d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee671c6b50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee67157490>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee67b435d0>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fee670a8990>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee67026e10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fee66f93990>]], dtype=object)
In [81]:
df12[['Store Ambience','Store Collection','Staff Product Knowledge','Staff Helpfulness']].plot.hist(stacked=True, bins=100,figsize=(15,20))
Out[81]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fee65e17090>
In [82]:
df12['Comment']
Out[82]:
26145    Happy to shop in brand , we are regular customer to commercial street branch and we are very happy to ve your show room very near to our home , happy                                                                                                                                                
26814    Nice place!                                                                                                                                                                                                                                                                                          
27925    NaN                                                                                                                                                                                                                                                                                                  
28683    NaN                                                                                                                                                                                                                                                                                                  
30216    .......                                                                                                                                                                                                                                                                                              
30253    Lack of staff due to which we had difficulty initially but experience was very good when Mr. Suhaib displayed customer obsession and built our interest in the products by helping us with selections. \n\nGood variety and very good 1st impression with this new store.\n\nThank you! :)\nGood luck
31194    More designs would be great                                                                                                                                                                                                                                                                          
31264    More variety should be there                                                                                                                                                                                                                                                                         
31541    NaN                                                                                                                                                                                                                                                                                                  
32181    NaN                                                                                                                                                                                                                                                                                                  
32346    Hi,\n\nYou started a new store in HSR layout. I was expecting a promotional discount on the prices or some complimentary offer. But it was quite disappointing to note that there wasn't anything.\n\nThanks, George                                                                                 
32502    NaN                                                                                                                                                                                                                                                                                                  
32921    Collected needs to improved.                                                                                                                                                                                                                                                                         
33127    Good experience at the shop, very helpful people                                                                                                                                                                                                                                                     
33578    NaN                                                                                                                                                                                                                                                                                                  
33620    Very good ser                                                                                                                                                                                                                                                                                        
33836    Try to keep more options on a particular range of products. On a pricing front need to be more competitive than digital marketing. To days market consumer needs the best deal.                                                                                                                      
34268    Inform me when there are store discounts!                                                                                                                                                                                                                                                            
34468    NaN                                                                                                                                                                                                                                                                                                  
34642    Everything is good.                                                                                                                                                                                                                                                                                  
34723    Good shopping                                                                                                                                                                                                                                                                                        
34802    Good..                                                                                                                                                                                                                                                                                               
34840    Overall good experience                                                                                                                                                                                                                                                                              
34876    Good staf and showroom                                                                                                                                                                                                                                                                               
35826    Ok ok                                                                                                                                                                                                                                                                                                
36202    Work towards quick delivery policy                                                                                                                                                                                                                                                                   
36235    More choices expected                                                                                                                                                                                                                                                                                
37395    No comnwnts                                                                                                                                                                                                                                                                                          
37416    more collection needed                                                                                                                                                                                                                                                                               
37749    In this store there are very few collection & very poor designs.                                                                                                                                                                                                                                     
Name: Comment, dtype: object